package homework.h02;

import java.util.HashMap;
import java.util.Map;
import java.util.Random;


/**
 * @author thinkpad - 83start
 * @version v1.0
 * @create 2022/9/8 12:40
 * @package homework.h02
 * @description 编写程序，随机产生100 个 0 到 9 的之间的数字，统计每个数字出现的概率
 */

public class CountNums {

    // 数字的数量git
    static final int  QUANTITY  =100;

    public static void main(String[] args) {
        // 1. 生成 100 个 0 - 9 之间的数字
        int[] intNums = new Random().ints(QUANTITY, 0, 10).toArray();

        // 2. 定义一个 hashmap 来统计出现的个数
        HashMap<Integer, Integer> countNumMap = new HashMap<>();
        // 初始化 hash map
        for (int i = 0; i < 10; i++) {
            countNumMap.put(i,0);
        }

        // 3. 遍历随机数组，并统计出现的个数
        for (int numKey:intNums) {
            Integer countValue = countNumMap.get(numKey) + 1;
            countNumMap.replace(numKey,countValue);
        }

        // 4. 输出统计的数字
        for (Map.Entry<Integer, Integer> entry : countNumMap.entrySet()) {
            Integer mapKey = entry.getKey();
            Integer mapValue = entry.getValue();
            System.out.printf("%d 出现的次数是 ： %d 次\n",mapKey,mapValue);
        }
    }
}
